<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>spi: xspi_intel_flash_example.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">spi
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xspi__intel__flash__example_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xspi_intel_flash_example.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains a design example using the SPI driver (<a class="el" href="struct_x_spi.html" title="The XSpi driver instance data. ">XSpi</a>) and hardware device with an Intel Serial Flash Memory (S33) in the interrupt mode. </p>
<p>This example erases a sector, writes to a Page within the sector, reads back from that Page and compares the data.</p>
<p>The example works with an Intel Serial Flash Memory (S33). The number of bytes per page in this device is 256. For further details about the device refer to the Intel Serial Flash Memory (S33) Data sheet</p>
<p>This example assumes that the underlying processor is MicroBlaze.</p>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>None.</p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date     Changes
</p>
<hr/>
<p>
1.00a sd   02/26/08 First release
3.00a ktn  10/22/09 Converted all register accesses to 32 bit access.
              Updated to use the HAL APIs/macros. Replaced call to
              XSpi_Initialize API with XSpi_LookupConfig and
              XSpi_CfgInitialize.
4.2   ms   01/23/17 Added xil_printf statement in main function to
                    ensure that "Successfully ran" and "Failed" strings
                    are available in all examples. This is a fix for
                    CR-965028.
      ms   04/05/17 Modified Comment lines to follow doxygen rules.
4.11  sb   07/11/23 Added support for system device-tree flow.
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afd36247f46468f8a699dbed74b666b6d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#afd36247f46468f8a699dbed74b666b6d">SpiIntelFlashWriteEnable</a> (<a class="el" href="struct_x_spi.html">XSpi</a> *SpiPtr)</td></tr>
<tr class="memdesc:afd36247f46468f8a699dbed74b666b6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables writes to the Intel Serial Flash memory.  <a href="#afd36247f46468f8a699dbed74b666b6d">More...</a><br/></td></tr>
<tr class="separator:afd36247f46468f8a699dbed74b666b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fc6213c851b1f3156bfe642080ddfa6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#a9fc6213c851b1f3156bfe642080ddfa6">SpiIntelFlashWrite</a> (<a class="el" href="struct_x_spi.html">XSpi</a> *SpiPtr, u32 Addr, u32 ByteCount)</td></tr>
<tr class="memdesc:a9fc6213c851b1f3156bfe642080ddfa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes the data to the specified locations in the Intel Serial Flash memory.  <a href="#a9fc6213c851b1f3156bfe642080ddfa6">More...</a><br/></td></tr>
<tr class="separator:a9fc6213c851b1f3156bfe642080ddfa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a187ad5a1ce8a9fdd0cfe915aa07c4c68"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#a187ad5a1ce8a9fdd0cfe915aa07c4c68">SpiIntelFlashRead</a> (<a class="el" href="struct_x_spi.html">XSpi</a> *SpiPtr, u32 Addr, u32 ByteCount)</td></tr>
<tr class="memdesc:a187ad5a1ce8a9fdd0cfe915aa07c4c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the data from the Intel Serial Flash Memory.  <a href="#a187ad5a1ce8a9fdd0cfe915aa07c4c68">More...</a><br/></td></tr>
<tr class="separator:a187ad5a1ce8a9fdd0cfe915aa07c4c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a504d4dbb0eda6e379a09eceb1c46780b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#a504d4dbb0eda6e379a09eceb1c46780b">SpiIntelFlashBulkErase</a> (<a class="el" href="struct_x_spi.html">XSpi</a> *SpiPtr)</td></tr>
<tr class="memdesc:a504d4dbb0eda6e379a09eceb1c46780b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function erases the entire contents of the Intel Serial Flash.  <a href="#a504d4dbb0eda6e379a09eceb1c46780b">More...</a><br/></td></tr>
<tr class="separator:a504d4dbb0eda6e379a09eceb1c46780b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a692a3c13eb25182574d572b40d6f409d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#a692a3c13eb25182574d572b40d6f409d">SpiIntelFlashSectorErase</a> (<a class="el" href="struct_x_spi.html">XSpi</a> *SpiPtr, u32 Addr)</td></tr>
<tr class="memdesc:a692a3c13eb25182574d572b40d6f409d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function erases the contents of the specified Sector in the Intel Serial Flash.  <a href="#a692a3c13eb25182574d572b40d6f409d">More...</a><br/></td></tr>
<tr class="separator:a692a3c13eb25182574d572b40d6f409d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1df55f074e01da3a431a6b4dffe5906"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#af1df55f074e01da3a431a6b4dffe5906">SpiIntelFlashGetStatus</a> (<a class="el" href="struct_x_spi.html">XSpi</a> *SpiPtr)</td></tr>
<tr class="memdesc:af1df55f074e01da3a431a6b4dffe5906"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads the Status register of the Intel Serial Flash.  <a href="#af1df55f074e01da3a431a6b4dffe5906">More...</a><br/></td></tr>
<tr class="separator:af1df55f074e01da3a431a6b4dffe5906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add79104b20e650bddfefb137c77a22c7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#add79104b20e650bddfefb137c77a22c7">SpiIntelFlashWriteStatus</a> (<a class="el" href="struct_x_spi.html">XSpi</a> *SpiPtr, u8 StatusRegister)</td></tr>
<tr class="memdesc:add79104b20e650bddfefb137c77a22c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes to the Status register of the Intel Flash.  <a href="#add79104b20e650bddfefb137c77a22c7">More...</a><br/></td></tr>
<tr class="separator:add79104b20e650bddfefb137c77a22c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacdc7be0761bc23854d5f1b9c6dbe36a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#aacdc7be0761bc23854d5f1b9c6dbe36a">SpiHandler</a> (void *CallBackRef, u32 StatusEvent, unsigned int ByteCount)</td></tr>
<tr class="memdesc:aacdc7be0761bc23854d5f1b9c6dbe36a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the handler which performs processing for the SPI driver.  <a href="#aacdc7be0761bc23854d5f1b9c6dbe36a">More...</a><br/></td></tr>
<tr class="separator:aacdc7be0761bc23854d5f1b9c6dbe36a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xspi__intel__flash__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function to execute the Flash example.  <a href="#a840291bc02cba5474a4cb46a9b9566fe">More...</a><br/></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Main function to execute the Flash example. </p>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_spi___config.html#a495ec19a4ab441ea59a0e220f0728dd9">XSpi_Config::BaseAddress</a>, <a class="el" href="xspi__atmel__flash__example_8c.html#aacdc7be0761bc23854d5f1b9c6dbe36a">SpiHandler()</a>, <a class="el" href="xspi__intel__flash__example_8c.html#a187ad5a1ce8a9fdd0cfe915aa07c4c68">SpiIntelFlashRead()</a>, <a class="el" href="xspi__intel__flash__example_8c.html#a692a3c13eb25182574d572b40d6f409d">SpiIntelFlashSectorErase()</a>, <a class="el" href="xspi__intel__flash__example_8c.html#a9fc6213c851b1f3156bfe642080ddfa6">SpiIntelFlashWrite()</a>, <a class="el" href="xspi__intel__flash__example_8c.html#afd36247f46468f8a699dbed74b666b6d">SpiIntelFlashWriteEnable()</a>, <a class="el" href="xspi__intel__flash__example_8c.html#add79104b20e650bddfefb137c77a22c7">SpiIntelFlashWriteStatus()</a>, <a class="el" href="group__spi.html#gac2c043a14b04e38a61b1979ccaa8a200">XSP_MASTER_OPTION</a>, <a class="el" href="group__spi.html#ga858155b42d5a1da8efe06c9098e40b2d">XSpi_CfgInitialize()</a>, <a class="el" href="group__spi.html#gaf3863f11d27469d8797424319601c980">XSpi_InterruptHandler()</a>, <a class="el" href="group__spi.html#gac2c4a169e05ad6e040796ae86100fd5b">XSpi_LookupConfig()</a>, <a class="el" href="group__spi.html#ga67c2076b133a55b6f80343642a1ace41">XSpi_SetOptions()</a>, <a class="el" href="group__spi.html#ga162523a3e9b29f063701db303ac8cf17">XSpi_SetSlaveSelect()</a>, <a class="el" href="group__spi.html#gabc09f4d503de2a772e5079ac46fc62b6">XSpi_SetStatusHandler()</a>, and <a class="el" href="group__spi.html#ga87fdaad742a2669200c9b2617e5c86ea">XSpi_Start()</a>.</p>

</div>
</div>
<a class="anchor" id="aacdc7be0761bc23854d5f1b9c6dbe36a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SpiHandler </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>StatusEvent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the handler which performs processing for the SPI driver. </p>
<p>It is called from an interrupt context such that the amount of processing performed should be minimized. It is called when a transfer of SPI data completes or an error occurs.</p>
<p>This handler provides an example of how to handle SPI interrupts and is application specific.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>is the upper layer callback reference passed back when the callback function is invoked. </td></tr>
    <tr><td class="paramname">StatusEvent</td><td>is the event that just occurred. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>is the number of bytes transferred up until the event occurred.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a class="anchor" id="a504d4dbb0eda6e379a09eceb1c46780b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SpiIntelFlashBulkErase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_spi.html">XSpi</a> *&#160;</td>
          <td class="paramname"><em>SpiPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function erases the entire contents of the Intel Serial Flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SpiPtr</td><td>is a pointer to the instance of the Spi device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The erased bytes will read as 0xFF. </dd></dl>

<p>References <a class="el" href="group__spi.html#ga4c44c082ef2d2b9cf4ba3db8bcebd954">XSpi_Transfer()</a>.</p>

</div>
</div>
<a class="anchor" id="af1df55f074e01da3a431a6b4dffe5906"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SpiIntelFlashGetStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_spi.html">XSpi</a> *&#160;</td>
          <td class="paramname"><em>SpiPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the Status register of the Intel Serial Flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SpiPtr</td><td>is a pointer to the instance of the Spi device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The status register content is stored at the second byte pointed by the ReadBuffer. </dd></dl>

<p>References <a class="el" href="group__spi.html#ga4c44c082ef2d2b9cf4ba3db8bcebd954">XSpi_Transfer()</a>.</p>

</div>
</div>
<a class="anchor" id="a187ad5a1ce8a9fdd0cfe915aa07c4c68"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SpiIntelFlashRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_spi.html">XSpi</a> *&#160;</td>
          <td class="paramname"><em>SpiPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads the data from the Intel Serial Flash Memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SpiPtr</td><td>is a pointer to the instance of the Spi device. </td></tr>
    <tr><td class="paramname">Addr</td><td>is the starting address in the Flash Memory from which the data is to be read. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>is the number of bytes to be read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__spi.html#ga4c44c082ef2d2b9cf4ba3db8bcebd954">XSpi_Transfer()</a>.</p>

<p>Referenced by <a class="el" href="xspi__intel__flash__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a692a3c13eb25182574d572b40d6f409d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SpiIntelFlashSectorErase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_spi.html">XSpi</a> *&#160;</td>
          <td class="paramname"><em>SpiPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function erases the contents of the specified Sector in the Intel Serial Flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SpiPtr</td><td>is a pointer to the instance of the Spi device. </td></tr>
    <tr><td class="paramname">Addr</td><td>is the address within a sector of the Buffer, which is to be erased.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The erased bytes will read as 0xFF. </dd></dl>

<p>References <a class="el" href="group__spi.html#ga4c44c082ef2d2b9cf4ba3db8bcebd954">XSpi_Transfer()</a>.</p>

<p>Referenced by <a class="el" href="xspi__intel__flash__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a9fc6213c851b1f3156bfe642080ddfa6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SpiIntelFlashWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_spi.html">XSpi</a> *&#160;</td>
          <td class="paramname"><em>SpiPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes the data to the specified locations in the Intel Serial Flash memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SpiPtr</td><td>is a pointer to the instance of the Spi device. </td></tr>
    <tr><td class="paramname">Addr</td><td>is the address in the Buffer, where to write the data. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>is the number of bytes to be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>A minimum of one byte and a maximum of one Page can be written using this API. </dd></dl>

<p>References <a class="el" href="group__spi.html#ga4c44c082ef2d2b9cf4ba3db8bcebd954">XSpi_Transfer()</a>.</p>

<p>Referenced by <a class="el" href="xspi__intel__flash__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="afd36247f46468f8a699dbed74b666b6d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SpiIntelFlashWriteEnable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_spi.html">XSpi</a> *&#160;</td>
          <td class="paramname"><em>SpiPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables writes to the Intel Serial Flash memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SpiPtr</td><td>is a pointer to the instance of the Spi device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__spi.html#ga4c44c082ef2d2b9cf4ba3db8bcebd954">XSpi_Transfer()</a>.</p>

<p>Referenced by <a class="el" href="xspi__intel__flash__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="add79104b20e650bddfefb137c77a22c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SpiIntelFlashWriteStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_spi.html">XSpi</a> *&#160;</td>
          <td class="paramname"><em>SpiPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>StatusRegister</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes to the Status register of the Intel Flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SpiPtr</td><td>is a pointer to the instance of the Spi device. </td></tr>
    <tr><td class="paramname">StatusRegister</td><td>is the value to be written to the status register of the flash device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The status register content is stored at the second byte pointed by the ReadPtr. </dd></dl>

<p>References <a class="el" href="group__spi.html#ga4c44c082ef2d2b9cf4ba3db8bcebd954">XSpi_Transfer()</a>.</p>

<p>Referenced by <a class="el" href="xspi__intel__flash__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
